import { menuTabListData } from '@/components/common/topmenu/datas.js'

// 权限
export default function listControl(routes) {
    let listConfig = JSON.parse(localStorage.getItem('menuInfoList'))
    // try{
        let arr = []
        let availableList = []
        let i = 1;
        // 筛选出可用的一级目录
        listConfig.forEach(item => {
            if (item.parent_id === 200) {
                menuTabListData.forEach(ele => {
                    if (ele.tabName === item.menu_url) {
                        availableList.push(item)
                        i++
                    }
                })
            }
        })
        // 筛选出可用模块的route
        let selectedRoutes = [routes[0], routes[1]]
        availableList.forEach(item => {
            routes.forEach(ele => {
                if(ele.name === item.menu_url) {
                    ele.child_id = item.id
                    selectedRoutes.push(ele)
                    i++
                }
            })
        })
        
        
        selectedRoutes.forEach(item => {
            if(item.children && Array.isArray(item.children)) {
                // 左侧列表项
                let linkList = [];
                // 子页面
                let unlinkList = [];
                // 可用的左侧列表项
                let availableChildren = [];
                item.children.forEach(ele => {
                    ele.unlist ? unlinkList.push(ele) : linkList.push(ele)
                    i++
                })
                // 二级列表
                let secList = []
                listConfig.forEach(ele => {
                    if(item.child_id === ele.parent_id) {
                        secList.push(ele)
                    }
                    i++
                })
                let thridList = []
                // 三级列表
                listConfig.forEach(item => {
                    secList.forEach(ele => {
                        if(ele.id === item.parent_id) {
                            item.parent_name = ele.menu_name
                            thridList.push(item)
                        }
                        i++
                    })
                })
                // 可用的三级列表availableChildren
                thridList.forEach(item => {
                    linkList.forEach(ele => {
                        if(item.menu_name === ele.label && item.parent_name === ele.className) {
                            availableChildren.push(ele)
                        }
                        i++
                    })
                })
                item.children = [...availableChildren, ...unlinkList]
                item.redirect = `${item.path}/${availableChildren[0].name}`
                console.log(selectedRoutes, 'itemmmmmmmmmm')
            }
        })
        // 修改全局router
        return selectedRoutes
    // }catch(err){
    //     this.$message({
    //         message: '权限解析失败'
    //     })
    // }
}